<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div id="app">
        <div :style='{fontSize:fontSize + "px"}'> {{pmsg}}
        </div>
        <!-- <text-props pmsg="父组件传来的值，固定的" ></text-props> -->
        <!-- 转化成数值类型 : boolean转数字： ，原来的true，false ，直接固定绑定属性 -->
        <!-- props属性值类型 string,number,boolean,Array,Object -->
        <text-props :pmsg="pmsg" :pnum='12' :pboolean='true' :parr='parr' :pobj='pobj' @text-big='handler($event)'></text-props>

    </div>
</body>
<script src="../vue.js"></script>
<script>
    // 子组件
    Vue.component('text-props', {
        props: ['pmsg', 'pnum', 'pboolean', 'parr', 'pobj'],
        data: function() {
            return {
                ms: '子组件本身的数据'
            }
        },

        template: `
    <div>
        <div>{{12+ pnum}}</div>
        <div>{{12+ pboolean}}</div>
<ul>
    <li :key='index' v-for='(item,index) in parr'>{{item}}</li>
    
    </ul>
    // props单项数据流，只允许父组件向子组件传递数据，不容许子组件修改父组件(否则有爆红)
    // 子组件通过自定义事件，向父组件传递信息
    <button @click='parr.push("pupper")'>点击</button>
    <button @click='$emit("text-big",5)'>子组件传值给父组件</button>
<div >{{pobj.id}}</div>
<div >{{pobj.name}}</div>
        </div>
    `

    })

    // 父组件向子组件传值
    var vm = new Vue({
        el: '#app',
        data: {
            pmsg: '父组件中的内容',
            parr: ['apple', 'banner', 'lenmon'],
            pobj: {
                id: 1,
                name: '张三'
            },
            fontSize: 10
        },
        methods: {
            handler: function(val) {
                // this.fontSize += 5
                this.fontSize += val
            }
        },
    })
</script>

</html>

</html>